home *** CD-ROM | disk | FTP | other *** search
- /*
- * From inpection of the TSS we know that NT's default IOPM offset is
- * 0x20AD. From an inspection of a dump of a process structure, we
- * can find the bytes 'AD 20' at offset 0x30. This is where NT stores
- * the IOPM offset for each process, so that I/O access can be granted
- * on a process-by-process basis. This portion of the process
- * structure is not documented in the DDK.
- *
- * This kernel mode driver fragment illustrates the brute force
- * method of poking the IOPM base into the process structure.
- */
- void GiveIO()
- {
- char *CurProc;
-
- CurProc = IoGetCurrentProcess();
- *((USHORT *)(CurProc + 0x30)) = 0x88;
- }
-
-